package Grafica;


import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.IOException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;


import javax.swing.JLabel;
import javax.swing.JPanel;


import Gioco.*;
import java.awt.Image;
import java.io.File;
import javax.imageio.ImageIO;



public class FilaDiPedine extends JPanel {
	JLabel pedineInMano[] = new JLabel[14];
        JLabel pedineScoperte[] = new JLabel[14];
	Giocatore giocatore;
        int posizione;
        private Image img;
	private static final long serialVersionUID = 1L;
        boolean mostraCoperte = false;
        public FilaDiPedine(Giocatore giocatore, int posizione, boolean mostraCoperte)
        {
            this.setDoubleBuffered(true);
            try
            {
                this.img = ImageIO.read(new File("images/stecca2.png"));
            }
            catch (IOException ex)
            {
                Logger.getLogger(FilaDiPedine.class.getName()).log(Level.SEVERE, null, ex);
            }
            this.posizione=posizione;
            this.giocatore = giocatore;
            this.mostraCoperte = mostraCoperte;
            svuotaStecca();
        }
	public FilaDiPedine(Giocatore giocatore, int posizione)
	{
		this(giocatore,posizione,false);

	}
        public FilaDiPedine(int posizione, boolean mostraCoperte)
        {
            this.setDoubleBuffered(true);
            try
            {
                this.img = ImageIO.read(new File("images/stecca2.png"));
            }
            catch (IOException ex)
            {
                Logger.getLogger(FilaDiPedine.class.getName()).log(Level.SEVERE, null, ex);
            }
            this.posizione=posizione;
            this.mostraCoperte = mostraCoperte;
            svuotaStecca();
        }
	public FilaDiPedine(int posizione) {
            this(posizione,false);
	}

	public void aggiornaStecca() //DA CAMBIARE
	{
            ArrayList<Pedina> pedine = giocatore.getMano();
            if (mostraCoperte == false)
            {
                for (int i=0;i<pedine.size();i++)
                {
                    pedineInMano[i] = new PedinaGUI(pedine.get(i),posizione);
                }
            }
            else
            {
                for (int i=0;i<pedine.size();i++)
                {
                    pedineInMano[i] = new PedinaGUI(posizione);
                }
            }

	}
	private void svuotaStecca()
	{
                 // DA COMMENTARE ALLA FINE
                     //PEDINE SCOPERTE
             if (mostraCoperte == false)
		for (int i=0;i<pedineScoperte.length;i++)
		{
                    pedineInMano[i] = new PedinaGUI("DRAGHI_1.png",posizione);

		}
            else
            {
                for (int i=0;i<pedineInMano.length;i++)
		{
			pedineInMano[i] = new PedinaGUI(posizione);
			this.add(pedineInMano[i]);
		}
            }
             ///////////// AGGIUNGO LE PEDINE ALLA STECCA
            for (int i=0;i<pedineInMano.length;i++)
            {
                this.add(pedineInMano[i]);
            }


                // DA DECOMMENTARE ALLA FINE
//		for (int i=0;i<immaginePedine.length;i++)
//		{
//			immaginePedine[i] = new JLabel("");
//			this.add(immaginePedine[i]);
//		}
		for (int i=0;i<pedineInMano.length;i++)
		{
			pedineInMano[i].addMouseListener(new MouseAdapter() {

                @Override
				public void mousePressed(MouseEvent event) {
					pedinaPremuta(event);
				}
			});
		}

	}
            
	private void pedinaPremuta(MouseEvent event) {
		Object immaginePremuta = event.getSource();
		for (int i=0;i<pedineInMano.length;i++)
		{
			if (immaginePremuta == pedineInMano[i])
                        {
                            System.out.println("premuta "+i);
                      //      pedineInMano[i].setIcon(new ImageIcon("images/PALLE_9.png"));
                        }
		}

	}

}